package com.ruoyi.info.domain;

import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 资讯文章对象 sys_info_article
 * 
 * @author ruoyi
 * @date 2025-01-27
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("sys_info_article")
public class SysInfoArticle extends BaseEntity implements Serializable
{
    private static final long serialVersionUID = 1L;

    /** 文章ID */
    @TableId(value = "article_id", type = IdType.AUTO)
    private Long articleId;

    /** 栏目ID */
    @Excel(name = "栏目ID")
    private Long columnId;

    /** 文章标题 */
    @Excel(name = "文章标题")
    private String articleTitle;

    /** 文章摘要 */
    @Excel(name = "文章摘要")
    private String articleSummary;

    /** 文章内容 */
    @Excel(name = "文章内容")
    private String articleContent;

    /** 文章封面 */
    @Excel(name = "文章封面")
    private String articleCover;

    /** 文章作者 */
    @Excel(name = "文章作者")
    private String articleAuthor;

    /** 文章来源 */
    @Excel(name = "文章来源")
    private String articleSource;

    /** 浏览次数 */
    @Excel(name = "浏览次数")
    private Long viewCount;

    /** 是否置顶（0否 1是） */
    @Excel(name = "是否置顶", readConverterExp = "0=否,1=是")
    private String isTop;

    /** 是否推荐（0否 1是） */
    @Excel(name = "是否推荐", readConverterExp = "0=否,1=是")
    private String isRecommend;

    /** 状态（0草稿 1发布 2下架） */
    @Excel(name = "状态", readConverterExp = "0=草稿,1=发布,2=下架")
    private String status;

    /** 发布时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "发布时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date publishTime;

    /** 删除标志（0代表存在 2代表删除） */
    @TableLogic
    private String delFlag;

    /** 栏目名称 */
    private String columnName;

    public void setArticleId(Long articleId) 
    {
        this.articleId = articleId;
    }

    public Long getArticleId() 
    {
        return articleId;
    }

    public void setColumnId(Long columnId) 
    {
        this.columnId = columnId;
    }

    public Long getColumnId() 
    {
        return columnId;
    }

    public void setArticleTitle(String articleTitle) 
    {
        this.articleTitle = articleTitle;
    }

    public String getArticleTitle() 
    {
        return articleTitle;
    }

    public void setArticleSummary(String articleSummary) 
    {
        this.articleSummary = articleSummary;
    }

    public String getArticleSummary() 
    {
        return articleSummary;
    }

    public void setArticleContent(String articleContent) 
    {
        this.articleContent = articleContent;
    }

    public String getArticleContent() 
    {
        return articleContent;
    }

    public void setArticleCover(String articleCover) 
    {
        this.articleCover = articleCover;
    }

    public String getArticleCover() 
    {
        return articleCover;
    }

    public void setArticleAuthor(String articleAuthor) 
    {
        this.articleAuthor = articleAuthor;
    }

    public String getArticleAuthor() 
    {
        return articleAuthor;
    }

    public void setArticleSource(String articleSource) 
    {
        this.articleSource = articleSource;
    }

    public String getArticleSource() 
    {
        return articleSource;
    }

    public void setViewCount(Long viewCount) 
    {
        this.viewCount = viewCount;
    }

    public Long getViewCount() 
    {
        return viewCount;
    }

    public void setIsTop(String isTop) 
    {
        this.isTop = isTop;
    }

    public String getIsTop() 
    {
        return isTop;
    }

    public void setIsRecommend(String isRecommend) 
    {
        this.isRecommend = isRecommend;
    }

    public String getIsRecommend() 
    {
        return isRecommend;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setPublishTime(Date publishTime) 
    {
        this.publishTime = publishTime;
    }

    public Date getPublishTime() 
    {
        return publishTime;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    public String getColumnName() 
    {
        return columnName;
    }

    public void setColumnName(String columnName) 
    {
        this.columnName = columnName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("articleId", getArticleId())
            .append("columnId", getColumnId())
            .append("articleTitle", getArticleTitle())
            .append("articleSummary", getArticleSummary())
            .append("articleContent", getArticleContent())
            .append("articleCover", getArticleCover())
            .append("articleAuthor", getArticleAuthor())
            .append("articleSource", getArticleSource())
            .append("viewCount", getViewCount())
            .append("isTop", getIsTop())
            .append("isRecommend", getIsRecommend())
            .append("status", getStatus())
            .append("publishTime", getPublishTime())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
